#include "queue.hpp"
#include <cstdio>
#include <unistd.h>
#include <signal.h>
#include <pthread.h>
#include <cstdlib>
#include <cstring>
#include <sys/wait.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <sys/epoll.h>
struct status_t
{
    queue_t queue;
    pthread_mutex_t lock;
    pthread_cond_t cond;
    int size;
    pthread_t *thread;
    int exit_flag;
};
int init_status(status_t *status, int num);
int init_thread(status_t *status);
int init_socket(int *socket_fd, const uint16_t port);
int add_epoll(int epoll_fd, int fd);